Compass magnetometers are calibrated in order to compensate for offsets, scale factor deviations, alignment tolerances and the influence of magnetic materials. The compensation reduces errors in the calculated orientation of the device. The aforementioned effects, and in particular the influence of magnetic materials, may change over time. Typically recalibration is needed after battery replacement, usage in a vehicle, or after exposure to a strong magnetic field. Automatic calibration may also be used to replace the one-time factory calibration, thus saving manufacturing costs.
WO 02/46693 discloses a three-axis algebraic model to numerically compensate for magnetic errors in measured magnetic field values in an electronic compass for any orientation of the compass. This model is based on physical principles and uses a linear algebra approach that facilitates computation of the parameters needed for compensation. During a calibration procedure of the electronic compass, magnetic and gravity fields are measured in three axes at each of a variety of combinations of orientations and azimuths. This set of measured magnetic and gravity fields is used to calculate a matrix compensation coefficient and a vector compensation coefficient using a system of equations. These compensation coefficients are stored and then used during normal operations of the electronic compass to correct all subsequently measured magnetometer data to obtain corrected values for the Earth's magnetic field, from which the correct azimuth can be calculated.